
using Nop.Core;
using Nop.Core.Domain.Customers;
using System.Collections.Generic;

namespace Nop.Services.Customers
{
    /// <summary>
    /// Person service
    /// </summary>
    public partial interface IPersonService
    {
        /// <summary>
        /// Gets all Persons
        /// </summary>
        /// <returns>Person</returns>
        IList<Person> GetAllPersons();

        IPagedList<Person> GetPersons(
            string name = null,
            int departId = 0,
            int gwxzId = 0,
            int natureId = 0,
            string sorter = "",
            int pageIndex = 0,
            int pageSize = int.MaxValue);

        IList<Person> GetPersonsByIds(int[] personIds);

        /// <summary>
        /// Gets a Person 
        /// </summary>
        /// <param name="personId">Person identifier</param>
        /// <returns>Person</returns>
        Person GetPersonById(int personId);

        /// <summary>
        /// Inserts a Person
        /// </summary>
        /// <param name="person">Person</param>
        void InsertPerson(Person person);

        /// <summary>
        /// Updates the Person
        /// </summary>
        /// <param name="person">Person</param>
        void UpdatePerson(Person person);

        /// <summary>
        /// Deletes a Person
        /// </summary>
        /// <param name="Person">Person</param>
        void DeletePerson(Person person);
    }
}

